package com.cloudbroker.bcs.platform.ltb.bizapi.t2service.business;


import com.cloudbroker.bcs.platform.ltb.bizapi.constants.IFSFunctionIds;
import com.cloudbroker.bcs.platform.ltb.bizapi.service.push.back.RegisterBackForm;
import com.cloudbroker.bcs.platform.ltb.bizapi.service.push.back.TagsAddBackVo;
import com.cloudbroker.bcs.platform.ltb.bizapi.service.push.back.TagsRemoveBackVo;
import com.cloudbroker.bcs.platform.ltb.bizapi.service.push.vo.RegisterForm;
import com.cloudbroker.bcs.platform.ltb.bizapi.service.push.vo.TagsAddForm;
import com.cloudbroker.bcs.platform.ltb.bizapi.service.push.vo.TagsRemoveForm;
import com.hundsun.jresplus.remoting.impl.annotation.Service;
import com.hundsun.jresplus.remoting.impl.annotation.ServiceModule;
import com.hundsun.jresplus.remoting.impl.annotation.ServiceParam;

/**
 * 消息推送 T2接口
 */
@ServiceModule
public interface PushNotifyT2BizService {

    /**
     * 设置极光registration_id设置极光registration_id
     * APP登录精英汇后调用
     * registration_id 不同，更新registration_id，更新精英汇和极光服务器绑定的Alias、Tag
     */
    @Service(functionId = IFSFunctionIds.IFSLTBUserCenterFunIds.FUNC_REGISTRATION_ID)
    public RegisterBackForm registrationIdMgr(@ServiceParam("param")RegisterForm registerForm);

	/**
     * 设置Tag-添加tag绑定
     * @param tagsAddForm
     *  appUserId
     *  businsysNo 对接系统业务编号（精英汇-1001）
     *  tag
     */
    @Service(functionId = IFSFunctionIds.IFSLTBUserCenterFunIds.FUNC_TAGS_ADD)
    public TagsAddBackVo tagsAdd(@ServiceParam("param")TagsAddForm tagsAddForm);

	/**
     * 设置Tag-删除tag绑定
     * @param tagsRemoveForm
     *  appUserId
     *  businsysNo 对接系统业务编号（精英汇-1001）
     *  tag
     */
    @Service(functionId = IFSFunctionIds.IFSLTBUserCenterFunIds.FUNC_TAGS_DELETE)
    public TagsRemoveBackVo tagsDelete(@ServiceParam("param")TagsRemoveForm tagsRemoveForm);


//	/**
//	 * 推送消息
//     * @param notifyForm
//	 *  title 标题
//	 *  msgContent 通知内容
//	 *  tag 标签
//	 */
//    @Service(functionId = "848543")
//	public PushBackVo sendPush(@ServiceParam("param")NotifyForm notifyForm);

//    /**
//     * 后台主动推送消息
//     * @param notifyForm
//     *  pushType 推送类型
//     *  msgContent 通知内容
//     *  serialNo 流水号
//     *  initDate 日期
//     */
//    @Service(functionId = "848544")
//    public Map<String, Object> driveSendByServer(@ServiceParam("param")NotifyForm notifyForm);

}
